#ifndef GAME_H_
#define GAME_H_

#include "ZoneManager.h"

class Game
{
	Game(void);
	Game(const Game&);
	Game& operator=(const Game&);
	~Game(void);

	// Only instance of the game
	static Game* m_Instance;

	int				m_WorldWidth;
	int				m_WorldHeight;
	int*			m_WorldMap;			// if either of the variables right here need to be modified, then the following need to be modified as well:
	ZoneManager*	m_ZoneManager;				// Will need to modify this apropriately to acomidate for the CManager

public:

	void	Initialize(void);
	void	Update(void);
	bool	Input(void);
	void	Render(void);
	void	Shutdown(void);

	// Creates a new map, and makes all values 01
	void	BuildMap(void);

	// Accessors
	int			GetWorldWidth(void);
	int			GetWorldHeight(void);
	int			GetWorldMapValue(const int x, const int y);

	// Mutators
	void SetWorldMap(const int x, const int y, const int Value);
	void SetWorldWidth(const int Width);
	void SetWorldHeight(const int Height);

	// Returns the instance so everyone can use the game
	static Game* GetInstance(void);
};

#endif